﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;

namespace SisEagle.View.Web.Base
{
    public class DynamicSiteMap
    {

        /// Este procedimento recebe o parâmetro PROFILE (string) que identifica

        /// o perfil do usuário, e define o nó principal do controle Menu1

        /// de acordo com esse perfil.
        public static SiteMapDataSource GetSiteMapDataSource(string profile)
        {

            // variável para armazenar a URL do nó principal do menu

            string URL = String.Empty;

            // define a URL de acordo com o parâmetro PROFILE

            if (profile.Equals("Gerente"))
            {
                URL = "~/Gerentes/Default.aspx";
            }

            if (profile.Equals("Usuario"))
            {
                URL = "~/Usuarios/Default.aspx";
            }



            // cria o objeto XmlSiteMapProvider que será utilizado para construir

            // o SiteMap dinamicamente.

            XmlSiteMapProvider xmlSiteMap = new XmlSiteMapProvider();

            System.Collections.Specialized.NameValueCollection MySiteMap =

                new System.Collections.Specialized.NameValueCollection(1);

            MySiteMap.Add("siteMapFile", "MenuAdministrador.sitemap");



            // inicializa o novo objeto SiteMapProvider

            xmlSiteMap.Initialize("MyProvider", MySiteMap);

            xmlSiteMap.BuildSiteMap();



            // cria o DataSource para o objeto SiteMap

            SiteMapDataSource siteMap = new SiteMapDataSource();



            // atribui o nó principal de acordo com o perfil do usuário

            siteMap.StartingNodeUrl = URL;



            // oculta o nó principal (opcional)

            siteMap.ShowStartingNode = false;



            // retorna o objeto para o procedimento de chamada

            return siteMap;

        }

    }
}




